package com.dcd.mapper;

import com.dcd.pojo.Information;
import com.dcd.pojo.User;
import com.dcd.pojo.Video;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserMapper {

    /**
     * @param user 用户对象
     * @return
     */
    User login(User user);

    /**
     * @param user 用户对象
     * @return
     */
    int register(User user);

    /**
     * @param user_phone 手机号
     * @return
     */
    int select_phone_whether_register(String user_phone);

    /**
     * 查询微信登录用户是否被添加到数据库
     *
     * @param user_name 用户名
     * @return
     */
    int select_we_chat_whether_add(String user_name);

    /**
     * 添加微信登录用户对象
     *
     * @param user 用户对象
     * @return
     */
    int add_we_chat_user(User user);

    /**
     * 根据指定用户名查询对象
     *
     * @param user_name 用户名
     * @return
     */
    User select_user_by_user_name(String user_name);

    /**
     * 根据用户id查询所有发布的视频
     * @param user_id   用户id
     * @return
     */
    List<Video> select_videoList_byUserId(@Param("user_id") Integer user_id);

    /**
     *  根据用户id查询所有发布的资讯
     * @param user_id   用户id
     * @return
     */
    List<Information> select_information_byUserId(@Param("user_id") Integer user_id);

    /**
     * 检查该粉丝是否存在
     * @param user_id 用户登录的id  y
     * @param cover_user_id   粉丝的id
     * @return
     */
    int existsFenSi(@Param("user_id") Integer user_id,@Param("cover_user_id") Integer cover_user_id);

    /**
     * 检查是否有发布视频
     * @param user_id
     * @return
     */
    int existsSelect_videoList_byUserId(@Param("user_id") Integer user_id);

    /**
     * 检查是否有发布资讯
     * @param user_id
     * @return
     */
    int existsSelect_information_byUserId(@Param("user_id") Integer user_id);
}
